package view.component.cost
{
import flash.display.DisplayObject;
import flash.display.MovieClip;

import framework.proxy.ComponentProxy;

import values.common.CostValue;
import values.item.ItemValue;

/**
 * CostGroupProxy
 * @author jliang
 * 
 */
public class CostGroupProxy extends ComponentProxy
{
	//==========================================================================
	//  Constructor
	//==========================================================================
	public function CostGroupProxy()
	{
		super();
	}
	//==========================================================================
	//  Variables
	//==========================================================================
	protected var items:Vector.<CostGroupItemProxy>;
	//==========================================================================
	//  Properties
	//==========================================================================
	protected var _data:CostValue;

	public function get data():CostValue
	{
		return _data;
	}

	public function set data(value:CostValue):void
	{
		_data = value;
		
		var proxy:CostGroupItemProxy;
		for each (proxy in items)
		{
			proxy.clear();
		}
		
		var list:Vector.<ItemValue> = data.costValueList;
		for (var i:int = 0; i < list.length; i++)
		{
			if (i >= items.length) break;
			proxy = items[i];
			proxy.data = list[i];
		}
	}
	//==========================================================================
	//  Overridden methods: ComponentProxy
	//==========================================================================
	override public function parse(target:MovieClip):void
	{
		super.parse(target);
		
		items = new Vector.<CostGroupItemProxy>();
		for (var i:int = 0; i < 3; i++)
		{
			var child:DisplayObject = skin.getChildByName("item" + i);
			var proxy:CostGroupItemProxy = new CostGroupItemProxy();
			proxy.parse(child as MovieClip);
			
			items.push(proxy);
		}
	}
}
}